A Practical Nonblocking Queue Algorithm Using Compare-and-Swap

نویسندگان

  • Chien-Hua Shann
  • Ting-Lu Huang
  • Cheng Chen
چکیده

Many nonblocking algorithms have been proposed for shared queues. Previous studies indicate that link-based algorithms perform best. However, these algorithms have a memory management problem: a dequeued node can not be freed or reused without proper handling. The problem is usually overlooked; one just assumes the existence of a lower level mechanism, which takes care of all the details of handling the problem. Employing such a mechanism incurs significant overheads, and consequently the link-based queues may not perform as well as claimed. A new nonblocking queue algorithm based on a finite array is proposed in this paper. Comparing with the link-based algorithms, the new algorithm provides the same degree of concurrency without being subject to the memory problem, hence suggests a good performance.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Nonblocking Algorithms and Preemption-Safe Locking on Multiprogrammed Shared Memory

Most multiprocessors are multiprogrammed to achieve acceptable response time and to increase their utilization. Unfortunately, inopportune preemption may significantly degrade the performance of synchronized parallel applications. To address this problem, researchers have developed two principal strategies for a concurrent, atomic update of shared data structures: (1) preemption-safe locking an...

متن کامل

A Concurrent Dictionary and Wait-Free Queue from Compare and Swap

This paper describes algorithms for a lock-free dictionary and a waitfree queue. The queue improves on a previous result by Kogan and Petrank by not requiring Stop-The-World Garbage Collection. The lock-free dictionary is structured as a multi-level hash table to avoid global resize. It can be made wait-free for most practical key types with trivial modifications. The dictionary supports sequen...

متن کامل

Lock-Free and Practical Doubly Linked List-Based Deques Using Single-Word Compare-and-Swap

We present an efficient and practical lock-free implementation of a concurrent deque that supports parallelism for disjoint accesses and uses atomic primitives which are available in modern computer systems. Previously known lock-free algorithms of deques are either based on non-available atomic synchronization primitives, only implement a subset of the functionality, or are not designed for di...

متن کامل

Lock-Free and Practical Deques using Single-Word Compare-And-Swap

We present an efficient and practical lock-free implementation of a concurrent deque that is disjoint-parallel accessible and uses atomic primitives which are available in modern computer systems. Previously known lock-free algorithms of deques are either based on non-available atomic synchronization primitives, only implement a subset of the functionality, or are not designed for disjoint acce...

متن کامل

Reasoning about Nonblocking Concurrency

Verification of concurrent algorithms has been the focus of much research over a considerable period of time, and a variety of techniques have been developed that are suited to particular classes of algorithm, for example algorithms based on message passing or mutual exclusion. The development of nonblocking or lock-free algorithms, which rely only on hardware primitives such as Compare And Swa...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2000